// 监听粘贴事件
document.addEventListener('paste', async (e) => {
    const items = Array.from(e.clipboardData.items)
    for (const item of items) {
        if (item.type.startsWith('image/')) {
            // 阻止默认粘贴行为
            e.preventDefault()

            try {
                const file = item.getAsFile()
                if (!file) continue

                // 获取图片 URL（如果有）
                let imageUrl = null
                try {
                    const text = await navigator.clipboard.readText()
                    if (isValidImageUrl(text)) {
                        imageUrl = text
                    }
                } catch (error) {
                    console.error('读取剪贴板文本失败:', error)
                }

                // 发送消息到后台脚本
                chrome.runtime.sendMessage({
                    type: 'COPY_IMAGE',
                    data: {
                        file,
                        url: imageUrl,
                        type: 'file',
                        timestamp: Date.now()
                    }
                })

                break
            } catch (error) {
                console.error('处理粘贴的图片失败:', error)
            }
        }
    }
})

// 检查 URL 是否是有效的图片地址
function isValidImageUrl(url) {
    try {
        const urlObj = new URL(url)
        const extension = urlObj.pathname.split('.').pop().toLowerCase()
        const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg']
        return imageExtensions.includes(extension)
    } catch {
        return false
    }
}

// 监听来自后台脚本的消息
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
    if (message.type === 'OPEN_SIDEPANEL') {
        // 打开侧边栏
        chrome.runtime.sendMessage({ type: 'OPEN_SIDEPANEL' })
    }
}) 